Currently available vehicle communication interface (VCI) devices allow for communication between one or more electronically controlled systems in a vehicle (e.g. an automobile) and a host system outside of the vehicle (e.g., a personal computer). The manner in which a VCI allows for such communication is by effectively “translating” between communications protocols used by the systems in the vehicle and the communications protocol used by the host system outside of the vehicle.
In practice, a currently available VCI allows, for example, for the anti-lock braking system (ABS) and/or transmission system of an automobile to communicate with a personal computer that is implementing automotive diagnostic software. More specifically, the VCI translates between automotive communications protocols (e.g., the Controller Area Network (CAN) protocol, the ISO 9141 protocol, the CCD protocol, the Digital Command Language (DCL protocol) and/or the J1850 protocol) and a protocol used by the personal computer (e.g., the RS232 protocol, the Universal Serial Bus (USB) protocol, the Ethernet protocol, the Bluetooth® protocol and/or the WiFi™ protocol). Such translation allows for data and/or commands to be transmitted between the automotive system(s) and the personal computer. In turn, this also allows for the diagnosis of one or more of the automotive systems to be performed using the computer.
As mentioned above, host systems (e.g. personal computers) use a plurality of communications protocols. As such, some currently available VCI devices include a plurality of physical sockets that are designed to be connected to one or more ports of a host system. For example, some currently available VCI devices have an RS232 socket, a USB socket, an Ethernet socket, a Bluetooth® socket and a WiFi™ socket. In turn, each of these sockets has an associated software driver located within the VCI.
Currently available VCI devices also include one or more software applications, many of which are capable of performing at least some degree of processing on of the data received from systems in a vehicle. In order for these software applications to communicate with the software drivers associated with each of the physical sockets included in a VCI, a separate application interface is needed between the application and each software driver. Since each application interface has to be programmed separately, the complexity and cost of manufacturing a VCI device increases with each additional application interface.